#ifndef TRACKITEM_H
#define TRACKITEM_H

#include <QObject>
#include <QVariant>

class TrackItem : public QObject
{
    Q_OBJECT
public:
    enum ENUM_TRACKITEMROLES {
        IdRastreioRole = Qt::UserRole + 1,
        RastreioRole,
        DescriptionRole,
        SelecionadoRole,
        OcupadoRole
    };
    explicit TrackItem(QObject *parent = 0);

    QVariant data(int role);
    static QHash<int, QByteArray> roleNames();

    int getIdRastreio();
    QString getRastreio();
    QString getDescription();
    bool getSelecionado();
    bool getOcupado();

    void setRastreio(const QString &dado);
    void setIdRastreio(int id);
    void setDescription(const QString &description);
    void setSelecionado(bool selecionado);
    void setOcupado(bool ocupado);
private:
    int _id;
    QString _rastreio, _description;
    bool _selecionado, _ocupado;
    
signals:
    
public slots:
    
};

inline int TrackItem::getIdRastreio() { return _id; }
inline QString TrackItem::getRastreio() { return _rastreio; }
inline QString TrackItem::getDescription() { return _description; }
inline bool TrackItem::getSelecionado() { return _selecionado; }
inline bool TrackItem::getOcupado() { return _ocupado; }

inline void TrackItem::setIdRastreio(int id) { _id = id; }
inline void TrackItem::setRastreio(const QString &dado) { _rastreio = dado; }
inline void TrackItem::setDescription(const QString &description) { _description = description; }
inline void TrackItem::setSelecionado(bool selecionado) { _selecionado = selecionado; }
inline void TrackItem::setOcupado(bool ocupado) { _ocupado = ocupado; }

#endif // TRACKITEM_H
